
package ro.imc.rest.client.services.forserver;

import java.util.List;

import ro.imc.rest.shared.dto.LearningObject;
import ro.imc.rest.shared.dto.RestLogin;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface RestServiceAsync {

	void loginToRestApi(String name, String password, AsyncCallback<RestLogin> callback);
	void getCoursesList(RestLogin user, AsyncCallback<List<LearningObject>> callback);
	void startCourse(RestLogin user, String courseId, AsyncCallback<Void> callback);
	void finishCourse(RestLogin user, String courseId, AsyncCallback<Void> callback);
	void bookCourse(RestLogin user, String courseId, AsyncCallback<Void> callback);
	
	
	void getCoursesListResponse(RestLogin user, AsyncCallback<String> callback);
	void startCourseResponse(RestLogin user, String courseId, AsyncCallback<Void> callback);
	void finishCourseResponse(RestLogin user, String courseId, AsyncCallback<Void> callback);
	void bookCourseResponse(RestLogin user, String courseId, AsyncCallback<Void> callback);
}
